-- GetDelay()函数用
local DelaySwitch = {
	[613] = 100,
	[626] = 300,
}

-- 参数
-- 	nRWeapon	一般取pSender->GetRWeapon()
-- 	nActionType	一般取pSender->GetActionType()
-- 返回值
--	从射击动作开始到箭支开始飞行的时间间隔，单位毫秒
local function GetDelay(nRWeapon, nActionType)
	local default = 800
	local f = DelaySwitch[math.modf(nRWeapon / 1000)]
	if (f) then
		return f
	end
	return default
end

-- 参数
-- 	nRWeapon	一般取pSender->GetRWeapon()
-- 	nActionType	一般取pSender->GetActionType()
-- 返回值
-- 	箭支相对攻击者/被攻击者的z坐标偏移，单位像素
local function GetOffsetZ(nRWeapon, nActionType)
	return 128
end

-- 参数
-- 	nLWeapon	一般取pSender->GetLWeapon()
-- 	nRWeapon	一般取pSender->GetRWeapon()
-- 返回值
-- 	箭支飞行速度，单位像素每秒
local function GetSpeed(nLWeapon, nRWeapon)
	return 2560
end

-- 清理变量释放内存
local function Unload()
	ArrowObj_GetDelay = nil
	ArrowObj_GetOffsetZ = nil
	ArrowObj_GetSpeed = nil
	ArrowObj_Unload = nil
end

-- 通过require传给其他Lua脚本使用
local ArrowObj = {
	GetDelay = GetDelay,
	GetOffsetZ = GetOffsetZ,
	GetSpeed = GetSpeed,
	Unload = Unload,
}

-- C++程序使用的global函数名
ArrowObj_GetDelay = ArrowObj.GetDelay
ArrowObj_GetOffsetZ = ArrowObj.GetOffsetZ
ArrowObj_GetSpeed = ArrowObj.GetSpeed
ArrowObj_Unload = ArrowObj.Unload

-- require返回值
return ArrowObj

